#include<iostream>
using namespace std;
const int N = 1e5 + 10;
int arr[N];
bool st[N];
int cnt;
void fun()
{
	for (int i = 2; i < N; i++) {
		if (!st[i]) {
			arr[++cnt] = i;
			for (int j = i * 2; j < N; j += i) {
				st[i] = 1;
			}
		}
	}
}
bool prime(int x)
{
	for (int i = 2; i * i <= x; i++) {
		if (x % i == 0) {
			return 0;
		}
	}
	return 1;
}
int n;
int main()
{
	int t;
	cin >> t;
	fun();
	while (t--) {
		cin >> n;
		if (n < 8 || prime(n)) {
			cout << "No solution" << endl;
			continue;
		}
		int ans = 0;
		int b[10] = { 0 };
		int k = 0;
		int a1, a2, a3;
		for (int i = 1; i <= cnt; i++) {
			if (arr[i] < n) {
				ans++;
				b[k++] = arr[i];
				if (ans == 2) {
					break;
				}
			}
		}
		a1 = b[0];
		a3 = b[1];
		a2 = (n / a1) / a3;
		if (a1 * a2 * a3 != n) {
			cout << "No solution" << endl;
		}
		else {
			cout << n << "=" << a1 << "*" << a2 << "*" << a3 << endl;
		}	
	}
	return 0;
}